export default class CustomEventEmitter extends EventTarget {
    constructor() {
        super();
    }

    // 注册特定事件的监听器
    on(name, callback) {
        this.addEventListener(name, callback);
    }

    // 派发事件，并可以传递数据
    dispatch(name, detail = {}) {
        const event = new CustomEvent(name, { detail });
        this.dispatchEvent(event);
    }

    // 移除特定事件的监听器
    off(name, callback) {
        this.removeEventListener(name, callback);
    }

    // 可以派发多个事件
    dispatchMultiple(events) {
        events.forEach(event => this.dispatch(event.name, event.detail));
    }
}